"""
os.getenv('env_name') 获取环境变量
os.getcwd() 取得当前目录
os.listdir('path') 列出指定目录的文件
os.walk('path) 列出指定目录的树结构

os.chdir('path') 改变当前目录
os.chmod() 改变目录权限

os.remove('path') 删除文件
os.rename(src, dst) 重命名文件
os.mkdir/makedirs('path')创建目录/多层目录
os.rmdir/removedirs('path') 删除目录/多层目录



"""
import os

"""1.系统操作"""


def os_example():
    print('工作平台：', os.name)
    print('系统分割符：', os.sep)
    print('操作系统的换行符号：', repr(os.linesep))
    print('文件名称和后缀之间的间隔符号：', os.extsep)
    print('读取环境变量：', os.getenv('PATH'))
    print('获取当前工作目录：', os.getcwd())
    print('获取当前目录：', os.curdir)  # .表示当前文件夹  一般情况下可以省略
    print('获取父级目录：', os.pardir)  # ..表示上一层文件夹  不可省略!
    print('当前目录的文件：', os.listdir(os.curdir))
    print('当前目录的树结构：', list(os.walk(os.curdir)))


os_example()
"""2.目录操作"""


def create_dirs():
    if not os.path.exists('dir_os'):
        os.mkdir('dir_os')  # 创建一个目录

    os.makedirs('dir_os/test1/test1.1')  # 递归生成多层目录
    os.makedirs('dir_os/test1/test1.2')  # 递归生成多层目录
    os.makedirs('dir_os/test1/test1.3')  # 递归生成多层目录


def clear_dirs():
    os.rmdir('dir_os/test1/test1.1')  # 删除一个空目录，存在文件/目录则无法删除
    os.removedirs('dir_os/test1/test1.2')  # 递归删除多层空目录, 因为test1下有多个目录，所以只删除了test1.2
    os.removedirs('dir_os/test1/test1.3')  # 递归删除多层空目录, 删除了所有层


# create_dirs()
# clear_dirs()


def alter_all_filename(prefix='demo'):
    """给当前目录下的所有文件加上前缀 'demo' """
    current_path = os.getcwd()
    for item in os.listdir(current_path):
        src_path = os.path.join(current_path, item)
        if os.path.isfile(src_path):  # 判断是否文件
            dst_path = os.path.join(current_path, prefix + item)
            print(dst_path)
            # os.rename(src_path, dst_path)

# alter_all_filename()alter_all_filename
